import service, { get } from '@/service/request'

/** 登录 接口*/
export function login(data: LoginData) {
  const loginEnv = import.meta.env.VITE_LOGIN_ENV
  return service<any, ResponseData<LoginResult>>({
    url: `auth/oauth2/token?grant_type=${loginEnv}&scope=server`,
    method: 'post',
    data,
    headers: {
      Authorization: 'Basic aWRhYXM6aWRhYXM=' // 只有 grant_type 为 idaas 时，才会判断该值是否正确
    }
  })
}

/** 注销 接口*/
export function logout() {
  return get('/auth/token/logout')
}

/** 获取验证码 接口*/
export function getCaptcha() {
  // return request<any, CaptchaResult>({
  //   url: `${AUTH_BASE_URL}/captcha`,
  //   method: 'get'
  // })
}

/** 登录请求参数 */
export interface LoginData {
  /** 用户名 */
  username: string
  /** 密码 */
  password: string
  /** 验证码缓存key */
  // captchaKey: string
  /** 验证码 */
  // captchaCode: string
}

/** 登录响应 */
export interface LoginResult {
  /** 访问token */
  access_token?: string
  /** 过期时间(单位：毫秒) */
  expires?: number
  /** 刷新token */
  refresh_token?: string
  /** token 类型 */
  token_type?: string
}

/** 验证码响应 */
export interface CaptchaResult {
  /** 验证码缓存key */
  captchaKey: string
  /** 验证码图片Base64字符串 */
  captchaBase64: string
}
